This file contains the messages from different users dated 07/13/2006 to 07/17/2006 and my answers to everyone of them. Please take time reading, thanks :)

7/13/2006 2:07:15 PM: Juan Carlos San Román
Very nice control. 5 from me.
I have found an error in sub PolylineEx
"subscript is out of range", because Points=nothing, it is at the beginning, I have put "On error resume next" and it works fine.

Fixed (Hopefully..) using my way first. Please test it for me, coz' I really don't know when this occurs.
But if this error still occurs, the alternate solution would be placing the "On Error Resume Next" instruction on the procedure at the moment as Carlos' suggested.
And please kindly inform me when or how this error occurs coz' I rarely get this error and seems to appear only on some systems, coz' it does not appear on mine :)

7/13/2006 2:44:09 PM: Riccardo Cohen
Great Code.. Would be nice if it could support Alpha Icons, but my 5 globes! Keep up the good work!

So far I don't have any idea on how to implement this feature because as we know VB's StdPicture itself doesn't support this and I can't think of any other solution for now. Any idea? :)

7/13/2006 3:53:04 PM: Ruturaj
Looks gr8! Can the Crystal style be made smooth on edge?

It's a bit complicated but I think I can do that. But...it may take an additional resource & time from the system because it will still have to get the image behind the control inorder to blend it with, which I think is the only way we can make the edges real smooth.
Another way, like what I have currently updated to the control is to remove the focus border showing the control in focus. It should look good now but not that good. The downside is that you can no longer determine (visually...) what control is currently in focus unless you remember it.
Got any other idea? or suggestion? Please tell me, I would be glad to try it :)
7/13/2006 5:18:01 PM: Jefe - Boss
ONE OF THE BEST I'VE EVER SEEN! No caps lock on, holding down the shift key to express gratitude for the sharing.
An all around excellent control.
The first I have downloaded from PSC that I played with for about 30 minutes and did not encounter an error with! Excellent work!
I just don't understand the "No caps lock on, holding down the shift key" statement, is that a suggestion, comment, or a bug report?
The control seems to be working fine in that part though, and hey, thanks for playing with this hehe :)
7/13/2006 10:35:10 PM: Steppenwolfe
Code is clean, and button is fast, good job!
Suggestion: if xp, add option to get users theme and apply the theme choice automatically.
Request granted but will only be available on the next version I think :(
I'll be soon working for this...just giving myself time to rest for now.
7/13/2006 11:46:15 PM: tanaya
good ctl
thanks.
7/14/2006 3:09:16 AM: Mark
Great work! Thanks for sharing.
oh thanks, I'll be glad to share for more in the future :)
7/14/2006 3:46:36 AM: Jon Parker
Works great until you start changing the font size.
Try Times New Roman/Bold/Size 14 with a picture set to right center, to see what I mean.
So I see the problem, but only if the text/caption is long enough to exceed the control's boundary/size.
What happens here is that the text/caption is still being centered between the picture and the edge of the button.
So I got it now, the text should not overlap the picture and this is what it happened here.
Sorry for the mistake, it's already been fixed and should work okay now.
7/14/2006 5:28:56 AM: Soorya
Excellent !
The big worry about these sort of buttons are consumes system resource. Lack of intelligence. I mean drawing should not happen for hidden/minimized forms.
Try 100 buttons in a form check loading and unloading speed. If it is still cool.. That is it..
Hope this control will pass the test.
All the best.

Was it consuming more system resource? Hmm don't think so :)
Was it drawing on hidden/minimized forms? Yes it should! Why? I'm not sure but it should.
Take this for an example, Have you ever used the LOAD command?
LOAD FORM1 instruction loads & draws FORM1 on memory so when the time you call FORM1.Show, the form shows immediately.
Got the point? The technique is usually used for implementing splash screens to load the main screen in background.
Well...that should explain why controls must allow to redraw even when their parent form/window is hidden or minimized.
And about the 100 button statement, well all custom buttons/controls do have/experience this disadvantage I think and unfortunately there is only one solution to the issue for me, don't use it!
Instead, just stick using the standard command button your whole life hehe :) peace.

7/14/2006 5:30:59 AM: solarding
the first comment I give in the web, although have been watching for a while.
your work is fantastic, just a little bugs to be fixed. like the "subscript out of range" as Juan mentioned.
Okay, thanks for making time to give me your comments, I appreciate it.
And about the little bugs, don't worry it's now fixed.
7/14/2006 7:16:44 AM: Option Explicit
A very thorough job designing this, with easy-to-read, well-documented code.
Whatever tiny issues there may be with this, you've done an outstanding job. *****
Wow, your message is the one I like most among all I have :) thanks. I'll be glad to share for more after this.
7/14/2006 7:47:48 AM: Soorya
I tested this control..
Great and fast..
But very often I get Runtime error 9 'Subscript out of range'
Pls. check it
Yes I have, it should be okay by now. Please check it also if I made another mistake again, thanks :)

7/14/2006 9:25:56 AM: Unknown
very good

thank u very much.
7/14/2006 10:46:32 AM: Eriv
Excelente.
thanks.
7/15/2006 1:19:23 PM: Thomas Brustbauer
1. Thank you - great!
2. You asked for suggestions: a drop down button segment right to normal button would be great - as seen in Save/Open dialog of Office 2003
This would be quite an easy job if I would only be updating one button/control but now I have 12 and still wanted to add for more, would be very tiring but I'll try, I will :)
I got the idea before but I chose to implement the button shape feature instead which seems to be successful.
7/15/2006 2:12:00 PM: ubt1
When used within another UserControl this line gives error 438:
If (UserControl.Parent.MDIChild) Then ' Detect activation of parent form
Fixed but unfixed. :) The problem you specified should have been fixed but another problem occurs right before my very eyes.
While I was fixing this problem, it went fine already but another serious problem was underway waiting for me, as I close the MDI form it crashes like hell!
Please read here for more information about this unfixed crash problem.
7/15/2006 2:20:13 PM: ubt1
When used as type in a var declaration like Private x as dcButton, x does not have properties Left, Height, Width etc. - really intended?
Huh? You may have placed the declaration inside a procedure? Ex. Form_Load()
Try using DIM instead. Ex. Dim x as dcButton, it should work fine now.
You cannot use PRIVATE for declaring an object/variable inside a procedure.
But if you insist, declare it outside a procedure a.k.a form wide declaration.
7/16/2006 3:18:03 AM: Soorya
more work to be done in this control to fix lot of bug in it. when i tried in my application, my app got hung up.
pls. put some more effort to fix the minor bugs.
But I love this button, It take very less GDI Objects and light weight.
Thanks for the submission
Hung up when? or what kind of circumstances? Does it crash likely as describe by Fazeel's bug problem below, if so then maybe it's fixed now? Can you try it again now? Give me the details later if it still hangs up, thanks.
7/16/2006 5:30:02 AM: Fazeel Amjad Khan
nice user control 5 globes from me.
Jaun Carlos mention the right thing to do with the control.
there is another problem. if we put the form unload code i.e. unload me.
Applicaton crashes and give an error generated by windows error reporting service. What to do with this problem.
Yeah at last a crash problem, this is what I've been waiting for as a bug.
Well, my test works fine as I unload the forms using other controls.
The crash problem raises up only when the instruction is called from the control's events (Ex. dcButton1_Click())...
Now its fixed for good :) hopefully...
7/17/2006 3:19:05 AM: Soorya
hi Noel A. Dacara
Most of my Video Projects are with >50 buttons in single form. Like Mini Control Panel.
Some time I prefer Buttons than Menus. Which is more convenient for New PC Users.
I have very bad experience with most of these buttons. But I like urs. It is very fast and taking less resource.
But I could not use it, because of many bugs.
Thanks again for sharing.
Yah you're right, most new pc users prefer buttons than menus.
Don't worry I'll be trying my best to make this control solid proof and free from bugs as possible because I'm gonna use this also on my own applications.
Anyone can help me with this, especially you, but finding for bugs and more suggestions is what I prefer most. Thanks again.
7/17/2006 4:05:13 AM: Goober Mpc
Hi, very nice button control. 5 stars from me...
A little modification could be made to the position of the Picture and the Text, when the Picture is on top of the text a space would be nice between the picture and text. It looks very cramped as it currently is.
Yah, it should have, it has to. If you scan the CalculateRects procedure you will see that the picture and the text has been set to be at least 2px between each other, the problem here is only noticeable when button is small enough for the objects (text/picture) and its borders.
It should work fine by now. Problem is explained earlier on the bug statement reported by Jon Parker.
7/17/2006 7:40:35 AM: Riccardo Cohen
To complete this project, it would be nice if you can implement option button properties...
Regards Riccardo
I'm currently working on this now, still having some difficulties though.
A couple of bug fixes more and this feature would be out for the go soon.
As of now, you can just do it manually using the checkbox mode and adding some codes whatsoever to simulate an option button.
7/17/2006 7:54:52 AM: bob8works
Galig m bro!
5* for you.
Ohh, at last. My fellow countrymen is what I've been waiting for to give me their opinions. Thanks pare...

7/17/2006 8:35:35 AM: Riccardo Cohen
Little Bug: When disabling button by itself (by clickking it), picture doesn't change to disabled.
Also all other graphic effects doesn't draw. So we have a disabled button that looks like a normal button.
You can see this very clear on a WindowsXP button.
Example: need one button (TestButton) with this code...
Sub TestButton_Click()
TestButton.Enabled = False
End sub
You will see that button doesn't Redraw!!!
Regards Riccardo

This kind of bug reporting is what I prefer most for others, it contains enough details for me to speed things up when correcting bugs.
It's fixed now. You can try it again on the demo form in the XP buttons frame.
End of file. Thanks everyone for giving me your comments and votes! Happy programming!!! -noel